package com.reservation.taxi.taxi.vo.businessinfo;

import lombok.Data;

import java.math.BigDecimal;

/**
 * 营运支付
 * YYZF 接口命令
 */
@Data
public class BusinessPayVo {

    /**
     * 公司标识，与交通部一致。
     */
    private String companyId;

    /**
     * 订单编号 (与发送交通部一致)
     */
    private String orderId;

    /**
     * 上车位置行政区划编号
     */
    private Integer onArea;

    /**
     * 机动车驾驶员姓名 (非必填)
     */
    private String driverName;

    /**
     * 机动车驾驶证号
     */
    private String licenseId;

    /**
     * 运价类型编码 (由网约车平台公司定义，与计程计价方式信息接口一一对应。)
     */
    private String fareType;

    /**
     * 车牌号码
     */
    private String vehicleNo;

    /**
     * 车牌颜色 1-蓝色 2-黄色 3-黑色 4-白色 9-其他
     */
    private String plateColor;

    /**
     * 预计上车时间 格式：yyyyMMddHHmmss
     */
    private String bookDepTime;

    /**
     * 等待时间 单位：秒 (非必填)
     */
    private Integer waitTime;

    /**
     * 车辆实际出发经度 单位：1*10-6度
     */
    private Double depLongitude;

    /**
     * 车辆实际出发纬度 单位：1*10-6度
     */
    private Double depLatitude;

    /**
     * 实际上车地点
     */
    private String depArea;

    /**
     * 实际上车时间 格式：yyyyMMddHHmmss
     */
    private String depTime;

    /**
     * 车辆实际到达经度 单位：1*10-6度
     */
    private Double destLongitude;

    /**
     * 车辆实际到达纬度 单位：1*10-6度
     */
    private Double destLatitude;

    /**
     * 实际下车地点
     */
    private String destArea;

    /**
     * 实际下车时间 格式：yyyyMMddHHmmss
     */
    private String destTime;

    /**
     * 预定车型
     */
    private String bookModel;

    /**
     * 实际使用车型
     */
    private String model;

    /**
     * 载客里程 单位：km
     */
    private Integer driveMile;

    /**
     * 载客时间 单位：秒
     */
    private Integer driveTime;

    /**
     * 空驶里程 单位：km (非必填)
     */
    private Integer waitMile;

    /**
     * 实收金额 单位：元
     */
    private BigDecimal factPrice;

    /**
     * 应收金额 单位：元 (非必填)
     */
    private BigDecimal price;

    /**
     * 现金支付金额 单位：元 (非必填)
     */
    private BigDecimal cashPrice;

    /**
     * 电子支付机构 (非必填)
     */
    private String lineName;

    /**
     * 电子支付金额 单位：元 (非必填)
     */
    private BigDecimal linePrice;

    /**
     * POS机支付机构
     */
    private String posName;

    /**
     * POS机支付金额 单位：元 (非必填)
     */
    private BigDecimal posPrice;

    /**
     * 优惠金额 单位：元 (非必填)
     */
    private BigDecimal benfitPrice;

    /**
     * 预约服务费 单位：元 (非必填)
     */
    private BigDecimal bookTip;

    /**
     * 附加费 单位：元 (非必填)
     */
    private BigDecimal passengerTip;

    /**
     * 高峰时段时间加价金额 单位：元 (非必填)
     */
    private BigDecimal peakUpPrice;

    /**
     * 夜间时段里程加价金额 单位：元 (非必填)
     */
    private BigDecimal nightUpPrice;

    /**
     * 远途加价金额 单位：元
     */
    private BigDecimal farUpPrice;

    /**
     * 其他加价金额 单位：元
     */
    private BigDecimal otherUpPrice;

    /**
     * 结算状态 0:未结算 1:已结算 2:未知
     */
    private String payState;

    /**
     * 结算时间 格式：yyyyMMddHHmmss （非必填）
     */
    private String payTime;

    /**
     * 订单完成时间 格式：yyyyMMddHHmmss （非必填）
     */
    private String orderMatchTime;

    /**
     * 发票状态 0：未开票 1：已开票 2：未知
     */
    private String invoiceStatus;

    /**
     * 驾驶员身份证号
     */
    private String driverIDCard;

    /**
     * 网络预约出租汽车驾驶员证编号 (如果无网络预约出租汽车驾驶员编号，填汉字空)
     */
    private String driverCertCard;

    /**
     * 电召费 单位：元
     */
    private BigDecimal callPrice;

    /**
     * 计费规则 (用于补充计费规则)
     */
    private String fareRuleUrl;

    /**
     * 订单下达时间 格式：YYYYMMDDHHMMSS
     */
    private String orderTime;

}
